package com.gdou.teaching.mapper;

import com.gdou.teaching.dataobject.File;
import com.gdou.teaching.dataobject.ExperimentAnswer;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author bo
 * @date Created in 22:31 2019/11/6
 * @description
 **/
@Mapper
@Repository
public interface FileMapper {
    /**
     * 添加文件记录
     * @param file
     * @return
     */
    int addFile(File file);

    /**
     * 根据文件表Id删除文件记录
     * @param fileId
     * @return
     */
    boolean deleteFileByFileId(Integer fileId);

    /**
     * 更新文件记录
     * @param file
     * @return
     */
    boolean updateFile(File file);

    /**
     * 根据文件Id查询文件记录
     * @param fileId
     * @return
     */
    File selectFileByFileId(Integer fileId);

    /**
     * 通过类别参数和类别的ID获取文件
     * @param fileCategory
     * @param fileCategoryId
     * @return
     */
    List<File> selectFileByFileCategoryAndFileCategoryIdOrderByCreateTime(Integer fileCategory, Integer fileCategoryId);

    /**
     * 通过类别参数、类别的ID和关键词获取文件，并按照时间排序
     * @param fileCategory
     * @param fileCategoryId
     * @param keyword
     * @return
     */
    List<File> selectFileByFileCategoryAndFileCategoryIdOrderAndKeywordByCreateTime(Integer fileCategory, Integer fileCategoryId,String keyword);
}